export default {
	// 开启命名空间
	namespaced: true,
	// 保存状态
	state: () => ({
		// 地址信息
		address: JSON.parse(uni.getStorageSync('address') || '{}'),
		// 登录凭证
		token: uni.getStorageSync('token') || '',
		// 用户信息
		userInfo: JSON.parse(uni.getStorageSync('userInfo') || '{}'),
		// 重定向
		redirectInfo: null
	}),
	// 方法 必须是同步方法 状态更新唯一方式 有两种传参方式
	mutations: {
		// 更新地址
		updateAddree(state, address) {
			state.address = address
			// 保存到本地
			uni.setStorageSync('address', JSON.stringify(state.address))
		},
		// 保存用户信息
		saveUserInfo(state, userInfo) {
			state.userInfo = userInfo
			// 保存到本地
			uni.setStorageSync('userInfo', JSON.stringify(state.userInfo))
		},
		// 保存token
		saveToken(state, token) {
			state.token = token
			// 保存到本地
			uni.setStorageSync('token', state.token)
		},
		// 保存重定向
		saveRedirect(state, redirectInfo) {
			state.redirectInfo = redirectInfo
		}
	},
	// store 的计算属性
	getters: {
		// 拼接省市区地址
		addrStr(state) {
			if (Object.keys(state.address).length === 0) return '';
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address
				.detailInfo;
		}
	},
	// 异步操作 
	actions: {

	}
}
